#include "led.h"

void LED_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStruct;

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_10 | GPIO_Pin_11;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Init(GPIOB, &GPIO_InitStruct);
}

void LED1_Toggle(void)
{
	if (((GPIOB->ODR >> 2) & 0x01) == 0x01) {
		GPIOB->ODR &= ~(0x01 << 2);
	} else {
		GPIOB->ODR |= 0x01 << 2;
	}
}

void LED2_Toggle(void)
{
	if (((GPIOB->ODR >> 10) & 0x01) == 0x01) {
		GPIOB->ODR &= ~(0x01 << 10);
	} else {
		GPIOB->ODR |= 0x01 << 10;
	}
}

void LED3_Toggle(void)
{
	if (((GPIOB->ODR >> 11) & 0x01) == 0x01) {
		GPIOB->ODR &= ~(0x01 << 11);
	} else {
		GPIOB->ODR |= 0x01 << 11;
	}
}

